<?php
namespace MyExt;
use Think\Controller;
/*
	// Main_User_Login_Verify()验证用户登陆状态，并跳转到登陆页面
	// Main_Empty_V($data,$fields='',$stat='') 验证数据是否为空
	// Main_VCode() 验证码的生成，用于登陆注册使用
	// Main_Encrypt($val,$type='') 将指定数据加密,解密，默认type为空进行加密，不为空则为解密
	// Main_AlertExit($message) 错误提示框，并终止返回上一页
	// Main_AlertLocation($message,$addr)	信息提示框，并终止跳转到指定页
	// Main_SendEmail($userName,$titles,$contents)	发送邮件
	// Main_Fpage() 获取分页列表


*/
class MainController extends Controller{

	public function __construct(){
		parent::__construct();
		

	}


	/*
		将从模型获取到的全部缓存到session中
		@parm 	$name (string)		模型名
		@return  无返回值。如获取到数据则缓存到session. 

	 */
	public function Main_Model_Data_To_Session($name){
		if(!session($name)){
			$m = D($name);
			$data = $m->select();
			if($data){
				session($name,$data);
			}
		}
	}






	// Main_User_Login_Verify()验证用户登陆状态，并跳转到登陆页面
	public function Main_User_Login_Verify(){
		//if(!session('userInfo')){	//如果用户没登陆则跳转到登陆页面
		if(!session('userInfo')){	//如果用户没登陆则跳转到登陆页面
			//$url = 'http://'.$_SERVER['HTTP_HOST'].'/'.MODULE_NAME.'/User/login';
			$url = 'http://'.$_SERVER['HTTP_HOST'].'/User/login';
			$this->Main_AlertLocation('请先登陆！',$url);
		}	
	}


    /*
        Main_Empty_V($data,$fields='',$stat='') 验证数据是否为空
        @parm   $data (array)   一维关联数组的数据源
        @parm   $fields (array)  
                    默认空：验证数据源所有元素
                    一维索引数组：验证数组中的字段
                    
        @parm   $stat (string)  
                    默认空:验证fields中指定字段
                    有值：验证除fields以外的字段(排除，且需fields为有效数组)，

    */
    public function Main_Empty_V($data,$fields='',$stat=''){
        //如果指定了字段
        if(is_array($fields) && count($fields)>0){
            if($stat){      //有值，就是排除指定字段
                foreach($data as $k=>$v){
                    echo $k.'=>'.$v.'<br>';
                    if(!in_array($k,$fields)){
                        if(!trim($data[$k])){
                            return  false;
                        }
                    }
                }
                return true;
            }else{          //无值就是验证指定字段
                foreach($data as $k=>$v){
                    echo $k.'=>'.$v.'<br>';
                    if(in_array($k,$fields)){
                        if(!trim($data[$k])){
                            return  false;
                        }
                    }
                }
                return true; 
            }
        }
        foreach($data as $k=>$v){
            if(!trim($v)){
                return false;
            }
        }
        return true;
    }




	// Main_VCode() 验证码的生成，用于登陆注册使用
	public function Main_vCode($arr = ''){
		if($arr == ''){
			$config = array(
			    'fontSize'    =>    70,    // 验证码字体大小
			    'length'      =>    4,     // 验证码位数    
			    'useNoise'    =>    1, // 关闭验证码杂
			);
		}
		$Verify = new \Think\Verify($config);
		return $Verify->entry();
	}









	// Main_Encrypt($val,$type='') 将指定数据加密,解密，默认type为空进行加密，不为空则为解密
	function Main_Encrypt($val,$type=''){
		if(!$type){
			$b = json_encode($val);
			$c = substr_replace($b,'AxF',3,0);
			$d = urlencode($c);
			$e = substr_replace($d,'AxF',3,0);
			$f = base64_encode($e);
			$g = substr_replace($f,'AxF',3,0);
			$h = urlencode($g);
			return $h;
		}
		$h1 = urldecode($val);
		$g1 = substr_replace($h1,'',3,3);
		$f1 = base64_decode($g1);
		$e1 = substr_replace($f1,'',3,3);
		$d1 = urldecode($e1);
		$c1 = substr_replace($d1,'',3,3);
		$b1 = json_decode($c1,1);
		return $b1;
	}






	// Main_AlertExit($message) 错误提示框，并终止返回上一页
	function Main_AlertExit($message){
		echo "<script>alert('{$message}');history.go(-1)</script>";exit;
	}





	// Main_AlertLocation($message,$addr)	信息提示框，并终止跳转到指定页
	function Main_AlertLocation($message,$addr=''){
		if(!$addr){
			echo "<script>alert('{$message}');history.go(-1);</script>";exit;
		}
		echo "<script>alert('{$message}');location='{$addr}'</script>";exit;
	}






	// Main_SendEmail($userName,$titles,$contents)	发送邮件
	function Main_SendEmail($email,$titles,$contents){
		Vendor("Mail.Mail");
	/*	$smtpserver = "smtp.163.com";//SMTP服务器
        $smtpusermail = "tpcwre@163.com";//SMTP服务器的用户邮箱
        $smtpuser = "tpcwre";//SMTP服务器的用户帐号
        $smtppass = "xiaodong123";//SMTP服务器的用户密码
*/
		$smtpserver = "smtp.sina.com";//SMTP服务器
        $smtpusermail = "youleyoulea1@sina.com";//SMTP服务器的用户邮箱
        $smtpuser = "youleyoulea1@sina.com";//SMTP服务器的用户帐号
       	$smtppass = "youle888";//SMTP服务器的用户密码
        $smtpserverport =25;//SMTP服务器端口
        $smtpemailto = $email;	//发送给谁
        $mailtitle = $titles;	//邮件主题
        $mailcontent = $contents;//邮件内容
        $mailtype = "HTML";//邮件格式（HTML/TXT）,TXT为文本邮件
        $smtp = new \smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里>面的一个true是表示使用身份验证,否则不使用身份验证.
       	$smtp->debug = false;//是否显示发送的调试信息
       //	return true;
        $state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype);
        if($state==""){
        	return false;
        }else{
        	return true;
        }
	}
	













}

